package com.example.tool.util;

import com.alibaba.fastjson.JSONObject;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;

import static com.aliyun.teautil.Common.toJSONString;

public class AliYunUtil {
    public static Client createClient() throws Exception {
        Config config = new Config()
                // 配置 AccessKey ID，请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId("LTAI5tMjNupbPURvAJAZKTgA")
                // 配置 AccessKey Secret，请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret("RzsKuntegbcZ6TAC5zhoQZBXcMuwl9");
        // System.getenv()方法表示获取系统环境变量，不要直接在getenv()中填入AccessKey信息。

        // 配置 Endpoint。中国站使用dysmsapi.aliyuncs.com
        config.endpoint = "dysmsapi.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        // 初始化请求客户端
        Client client = AliYunUtil.createClient();
        // 构造API请求对象，请替换请求参数值
        JSONObject templateParam = new JSONObject();
        templateParam.put("name", "忆北小北温州烘焙diy");
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers("13025075737")
                .setSignName("浙江忆北食品贸易")
                .setTemplateCode("SMS_490900109")
                .setTemplateParam(templateParam.toJSONString()); // TemplateParam为序列化后的JSON字符串。
        // 获取响应对象
        SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);

        // 响应包含服务端响应的 body 和 headers
        System.out.println(toJSONString(sendSmsResponse));
    }


}
